v1.7 to 1.8

The argocd-application-controller converted to StatefulSet

The argocd-application-controller has been converted to StatefulSet. That means you need to manually delete argocd-application-controller Deployment after upgrading. Similarly if you decided to rollback to v1.7 don’t forget to delete argocd-application-controller StatefulSet.

Health assessment of argoproj.io/Application CRD has been removed

The health assessment of argoproj.io/Application CRD has been removed (see #3781 for more information). You might need to restore it if you are using app-of-apps pattern and orchestrating synchronization using sync waves. Add the following resource customization in argocd-cm ConfigMap:

  1. ---
  2. apiVersion: v1
  3. kind: ConfigMap
  4. metadata:
  5. name: argocd-cm
  6. namespace: argocd
  7. labels:
  8. app.kubernetes.io/name: argocd-cm
  9. app.kubernetes.io/part-of: argocd
  10. data:
  11. resource.customizations: |
  12. argoproj.io/Application:
  13. health.lua: |
  14. hs = {}
  15. hs.status = "Progressing"
  16. hs.message = ""
  17. if obj.status ~= nil then
  18. if obj.status.health ~= nil then
  19. hs.status = obj.status.health.status
  20. if obj.status.health.message ~= nil then
  21. hs.message = obj.status.health.message
  22. end
  23. end
  24. end
  25. return hs

To modify an existing installation with no existing resources.customizations, you can save the data: stanza to file and patch the configmap with e.g.: kubectl -n argocd patch configmaps argocd-cm --patch-file argocd-cm-patch.yaml

gRPC metrics are disabled by default

The gRPC metrics are not exposed by default by argocd-server and argocd-repo-server anymore. These metrics appear to be too expensive so we’ve decided to disable them by default. Metrics can be enabled using ARGOCD_ENABLE_GRPC_TIME_HISTOGRAM=true environment variable.

From here on you can follow the regular upgrade process.